package com.ys.chatserver.im.impl;

import com.eva.framework.utils.LoggerFactory;
import com.ys.chatserver.im.util.MessageHelper;
import net.ys.mobileimsdk.server.protocal.Protocal;

import java.util.HashMap;
import java.util.Map;

public class GpsManager {
    public GpsManager() {
    }

    /**
     * gps位置通知
     * @param to_user_uid 接受者用户id
     * @param user_uid 用户id
     * @param lat 用户经纬度
     */
    public static void batchNotificationGps(String to_user_uid,String user_uid, String lat, String lng) throws Exception {
        // 指令发送结果观察者（因为通信底层netty是异步通知数据发送结果的）
        MessageHelper.SendResultObserver sendResultObserver = new MessageHelper.SendResultObserver(){
            @Override
            public void update(boolean code, Protocal p) {
                if(code)
                    LoggerFactory.getLog().info("[RBChat]向用户"+user_uid+"发送GPS订阅通知成功");
                else
                    LoggerFactory.getLog().warn("[RBChat]向用户"+user_uid+"发送GPS订阅通知失败,错误code="+code);
            }
        };
        Map<String,String> map=new HashMap<>();
        map.put("user_uid",user_uid);
        map.put("lat",lat);
        map.put("lng",lng);
        MessageHelper.sendGpsMessage(to_user_uid,map.toString(),sendResultObserver);
    }
}
